1. Field of the Invention
The invention relates to the field of artificial intelligence, and more particularly to the field of natural language interaction-based applications, such as virtual assistants.
2. Discussion of the State of the Art
Virtual assistants are an example of a class of software applications, referred to herein as natural language interaction applications that use natural language to interact with a human user. With respect to virtual assistants in particular, these applications perform functions similar to those provided by human assistants, in that they can engage in conversations with their users in order to for example provide information, carry out routine tasks, or perform other operations as required. Many virtual assistants have been used in association with web sites, with these virtual assistants often featuring the use of graphical images or avatars to simulate the experience of interacting with a human being.
While some natural language interaction applications known in the art may possess rudimentary natural language understanding capabilities, in reality most such applications, and particularly most virtual assistants known in the art, are tightly scripted applications that carry out a limited range of activities. While scripted agents have proven useful in many online scenarios, their acceptance has generally been limited because, when users are restricted in their ways of expressing themselves in natural language, the communication language is not natural. Any notion of the virtual assistant's behaving like a real assistant disappears because too much effort is demanded of the user when the user is expected to know precisely what to say or what to do in order to achieve her goals. Thus there is a distinct need in the art for interpreting fluid and freely expressed natural language in various applications, for example by virtual assistants. This challenge is exacerbated by the fact that, even when equipped with rudimentary natural language interpretation, natural language interaction applications such as virtual assistants that seem to only “know” a small number of facts and who only “talk about” a very limited range of subjects (such as appointment management) do not seem very realistic to humans, who are used to being able to say things in a fluid way, shifting subjects easily and intermixing casual banter with task-oriented speech.
The use of natural language interaction applications generally, and virtual assistants more particularly, has also been hampered by the high degree of complexity and cost associated with developing and deploying virtual assistants, particularly those that have any significant degree of natural language interpretation and interaction capability. As such many of the services used by virtual assistants are housed in the cloud and are connected to using a network such as the internet, a corporate intranet, Bluetooth and other networks. Maintaining a connection to these services is necessary to completing many tasks of virtual assistants. However, given that in the current environment, there are many areas where connectivity is not available or expensive due to, for example, roaming charges or networks requiring a subscription, connectivity to other services may not always be available. Moreover, since typical users have a plurality of devices, maintaining consistency across devices is essential.
Accordingly, what is needed in the art is a system and various methods that enable virtual assistants to operate in a networked fashion with one another, facilitating interaction between virtual assistants as well as the management of a virtual assistant network for efficient task handling.